home *** CD-ROM | disk | FTP | other *** search
-
- {*******************************************************}
- { }
- { Delphi Visual Component Library }
- { }
- { Copyright (c) 1995,97 Borland International }
- { }
- {*******************************************************}
-
- unit DBCtrls;
-
- {$R-}
-
- interface
-
- uses Windows, SysUtils, Messages, Classes, Controls, Forms,
- Graphics, Menus, StdCtrls, ExtCtrls, Mask, Buttons, ComCtrls, Db;
-
- type
-
- { TFieldDataLink }
-
- TFieldDataLink = class(TDataLink)
- protected
- procedure ActiveChanged; override;
- procedure EditingChanged; override;
- procedure FocusControl(Field: TFieldRef); override;
- procedure LayoutChanged; override;
- procedure RecordChanged(Field: TField); override;
- procedure UpdateData; override;
- public
- function Edit: Boolean;
- procedure Modified;
- procedure Reset;
- property CanModify: Boolean;
- property Control: TComponent;
- property Editing: Boolean;
- property Field: TField;
- property FieldName: string;
- property OnDataChange: TNotifyEvent;
- property OnEditingChange: TNotifyEvent;
- property OnUpdateData: TNotifyEvent;
- property OnActiveChange: TNotifyEvent;
- end;
-
- { TPaintControl }
-
- TPaintControl = class
- public
- constructor Create(AOwner: TWinControl; const ClassName: string);
- destructor Destroy; override;
- procedure DestroyHandle;
- property Ctl3DButton: Boolean;
- property Handle: HWnd;
- end;
-
- { TDBEdit }
-
- TDBEdit = class(TCustomMaskEdit)
- protected
- procedure Change; override;
- function EditCanModify: Boolean; override;
- procedure KeyDown(var Key: Word; Shift: TShiftState); override;
- procedure KeyPress(var Key: Char); override;
- procedure Loaded; override;
- procedure Notification(AComponent: TComponent;
- Operation: TOperation); override;
- procedure Reset; override;
- public
- constructor Create(AOwner: TComponent); override;
- destructor Destroy; override;
- property Field: TField;
- published
- property AutoSelect;
- property AutoSize;
- property BorderStyle;
- property CharCase;
- property Color;
- property Ctl3D;
- property DataField: string;
- property DataSource: TDataSource;
- property DragCursor;
- property DragMode;
- property Enabled;
- property Font;
- property ImeMode;
- property ImeName;
- property MaxLength;
- property ParentColor;
- property ParentCtl3D;
- property ParentFont;
- property ParentShowHint;
- property PasswordChar;
- property PopupMenu;
- property ReadOnly: Boolean default False;
- property ShowHint;
- property TabOrder;
- property TabStop;
- property Visible;
- property OnChange;
- property OnClick;
- property OnDblClick;
- property OnDragDrop;
- property OnDragOver;
- property OnEndDrag;
- property OnEnter;
- property OnExit;
- property OnKeyDown;
- property OnKeyPress;
- property OnKeyUp;
- property OnMouseDown;
- property OnMouseMove;
- property OnMouseUp;
- property OnStartDrag;
- end;
-
- { TDBText }
-
- TDBText = class(TCustomLabel)
- protected
- function GetLabelText: string; override;
- procedure Loaded; override;
- procedure Notification(AComponent: TComponent;
- Operation: TOperation); override;
- procedure SetAutoSize(Value: Boolean); override;
- public
- constructor Create(AOwner: TComponent); override;
- destructor Destroy; override;
- property Field: TField;
- published
- property Align;
- property Alignment;
- property AutoSize default False;
- property Color;
- property DataField: string;
- property DataSource: TDataSource;
- property DragCursor;
- property DragMode;
- property Enabled;
- property Font;
- property ParentColor;
- property ParentFont;
- property ParentShowHint;
- property PopupMenu;
- property Transparent;
- property ShowHint;
- property Visible;
- property WordWrap;
- property OnClick;
- property OnDblClick;
- property OnDragDrop;
- property OnDragOver;
- property OnEndDrag;
- property OnMouseDown;
- property OnMouseMove;
- property OnMouseUp;
- property OnStartDrag;
- end;
-
- { TDBCheckBox }
-
- TDBCheckBox = class(TCustomCheckBox)
- protected
- procedure Toggle; override;
- procedure KeyPress(var Key: Char); override;
- procedure Notification(AComponent: TComponent;
- Operation: TOperation); override;
- procedure WndProc(var Message: TMessage); override;
- public
- constructor Create(AOwner: TComponent); override;
- destructor Destroy; override;
- property Checked;
- property Field: TField;
- property State;
- published
- property Alignment;
- property AllowGrayed;
- property Caption;
- property Color;
- property Ctl3D;
- property DataField: string;
- property DataSource: TDataSource;
- property DragCursor;
- property DragMode;
- property Enabled;
- property Font;
- property ParentColor;
- property ParentCtl3D;
- property ParentFont;
- property ParentShowHint;
- property PopupMenu;
- property ReadOnly: Boolean default False;
- property ShowHint;
- property TabOrder;
- property TabStop;
- property ValueChecked: string;
- property ValueUnchecked: string;
- property Visible;
- property OnClick;
- property OnDragDrop;
- property OnDragOver;
- property OnEndDrag;
- property OnEnter;
- property OnExit;
- property OnKeyDown;
- property OnKeyPress;
- property OnKeyUp;
- property OnMouseDown;
- property OnMouseMove;
- property OnMouseUp;
- property OnStartDrag;
- end;
-
- { TDBComboBox }
-
- TDBComboBox = class(TCustomComboBox)
- protected
- procedure Change; override;
- procedure Click; override;
- procedure ComboWndProc(var Message: TMessage; ComboWnd: HWnd;
- ComboProc: Pointer); override;
- procedure CreateWnd; override;
- procedure DropDown; override;
- procedure KeyDown(var Key: Word; Shift: TShiftState); override;
- procedure KeyPress(var Key: Char); override;
- procedure Loaded; override;
- procedure Notification(AComponent: TComponent;
- Operation: TOperation); override;
- procedure SetStyle(Value: TComboboxStyle); override;
- procedure WndProc(var Message: TMessage); override;
- public
- constructor Create(AOwner: TComponent); override;
- destructor Destroy; override;
- property Field: TField;
- property Text;
- published
- property Style; {Must be published before Items}
- property Color;
- property Ctl3D;
- property DataField: string;
- property DataSource: TDataSource;
- property DragMode;
- property DragCursor;
- property DropDownCount;
- property Enabled;
- property Font;
- property ImeMode;
- property ImeName;
- property ItemHeight;
- property Items write SetItems;
- property ParentColor;
- property ParentCtl3D;
- property ParentFont;
- property ParentShowHint;
- property PopupMenu;
- property ReadOnly: Boolean default False;
- property ShowHint;
- property Sorted;
- property TabOrder;
- property TabStop;
- property Visible;
- property OnChange;
- property OnClick;
- property OnDblClick;
- property OnDragDrop;
- property OnDragOver;
- property OnDrawItem;
- property OnDropDown;
- property OnEndDrag;
- property OnEnter;
- property OnExit;
- property OnKeyDown;
- property OnKeyPress;
- property OnKeyUp;
- property OnMeasureItem;
- property OnStartDrag;
- end;
-
- { TDBListBox }
-
- TDBListBox = class(TCustomListBox)
- protected
- procedure Click; override;
- procedure KeyDown(var Key: Word; Shift: TShiftState); override;
- procedure KeyPress(var Key: Char); override;
- procedure Notification(AComponent: TComponent;
- Operation: TOperation); override;
- public
- constructor Create(AOwner: TComponent); override;
- destructor Destroy; override;
- property Field: TField;
- published
- property Align;
- property BorderStyle;
- property Color;
- property Ctl3D default True;
- property DataField: string;
- property DataSource: TDataSource;
- property DragCursor;
- property DragMode;
- property Enabled;
- property Font;
- property ImeMode;
- property ImeName;
- property IntegralHeight;
- property ItemHeight;
- property Items write SetItems;
- property ParentColor;
- property ParentCtl3D;
- property ParentFont;
- property ParentShowHint;
- property PopupMenu;
- property ReadOnly: Boolean default False;
- property ShowHint;
- property Style;
- property TabOrder;
- property TabStop;
- property Visible;
- property OnClick;
- property OnDblClick;
- property OnDragDrop;
- property OnDragOver;
- property OnDrawItem;
- property OnEndDrag;
- property OnEnter;
- property OnExit;
- property OnKeyDown;
- property OnKeyPress;
- property OnKeyUp;
- property OnMeasureItem;
- property OnMouseDown;
- property OnMouseMove;
- property OnMouseUp;
- property OnStartDrag;
- end;
-
- { TDBRadioGroup }
-
- TDBRadioGroup = class(TCustomRadioGroup)
- protected
- procedure Change; dynamic;
- procedure Click; override;
- procedure KeyPress(var Key: Char); override;
- function CanModify: Boolean; override;
- procedure Notification(AComponent: TComponent;
- Operation: TOperation); override;
- property DataLink: TFieldDataLink;
- public
- constructor Create(AOwner: TComponent); override;
- destructor Destroy; override;
- property Field: TField;
- property ItemIndex;
- property Value: string;
- published
- property Align;
- property Caption;
- property Color;
- property Columns;
- property Ctl3D;
- property DataField: string;
- property DataSource: TDataSource;
- property DragCursor;
- property DragMode;
- property Enabled;
- property Font;
- property Items write SetItems;
- property ParentColor;
- property ParentCtl3D;
- property ParentFont;
- property ParentShowHint;
- property PopupMenu;
- property ReadOnly: Boolean default False;
- property ShowHint;
- property TabOrder;
- property TabStop;
- property Values: TStrings;
- property Visible;
- property OnChange: TNotifyEvent;
- property OnClick;
- property OnDragDrop;
- property OnDragOver;
- property OnEndDrag;
- property OnEnter;
- property OnExit;
- property OnStartDrag;
- end;
-
- { TDBMemo }
-
- TDBMemo = class(TCustomMemo)
- protected
- procedure Change; override;
- procedure KeyDown(var Key: Word; Shift: TShiftState); override;
- procedure KeyPress(var Key: Char); override;
- procedure Loaded; override;
- procedure Notification(AComponent: TComponent;
- Operation: TOperation); override;
- procedure WndProc(var Message: TMessage); override;
- public
- constructor Create(AOwner: TComponent); override;
- destructor Destroy; override;
- procedure LoadMemo;
- property Field: TField;
- published
- property Align;
- property Alignment;
- property AutoDisplay: Boolean default True;
- property BorderStyle;
- property Color;
- property Ctl3D;
- property DataField: string;
- property DataSource: TDataSource;
- property DragCursor;
- property DragMode;
- property Enabled;
- property Font;
- property ImeMode;
- property ImeName;
- property MaxLength;
- property ParentColor;
- property ParentCtl3D;
- property ParentFont;
- property ParentShowHint;
- property PopupMenu;
- property ReadOnly: Boolean default False;
- property ScrollBars;
- property ShowHint;
- property TabOrder;
- property TabStop;
- property Visible;
- property WantTabs;
- property WordWrap;
- property OnChange;
- property OnClick;
- property OnDblClick;
- property OnDragDrop;
- property OnDragOver;
- property OnEndDrag;
- property OnEnter;
- property OnExit;
- property OnKeyDown;
- property OnKeyPress;
- property OnKeyUp;
- property OnMouseDown;
- property OnMouseMove;
- property OnMouseUp;
- property OnStartDrag;
- end;
-
- { TDBImage }
-
- TDBImage = class(TCustomControl)
- protected
- procedure CreateParams(var Params: TCreateParams); override;
- function GetPalette: HPALETTE; override;
- procedure KeyDown(var Key: Word; Shift: TShiftState); override;
- procedure KeyPress(var Key: Char); override;
- procedure Notification(AComponent: TComponent;
- Operation: TOperation); override;
- procedure Paint; override;
- public
- constructor Create(AOwner: TComponent); override;
- destructor Destroy; override;
- procedure CopyToClipboard;
- procedure CutToClipboard;
- procedure LoadPicture;
- procedure PasteFromClipboard;
- property Field: TField;
- property Picture: TPicture;
- published
- property Align;
- property AutoDisplay: Boolean default True;
- property BorderStyle: TBorderStyle default bsSingle;
- property Center: Boolean default True;
- property Color;
- property Ctl3D;
- property DataField: string;
- property DataSource: TDataSource;
- property DragCursor;
- property DragMode;
- property Enabled;
- property Font;
- property ParentColor default False;
- property ParentCtl3D;
- property ParentFont;
- property ParentShowHint;
- property PopupMenu;
- property ReadOnly: Boolean default False;
- property QuickDraw: Boolean default True;
- property ShowHint;
- property Stretch: Boolean default False;
- property TabOrder;
- property TabStop default True;
- property Visible;
- property OnClick;
- property OnDblClick;
- property OnDragDrop;
- property OnDragOver;
- property OnEndDrag;
- property OnEnter;
- property OnExit;
- property OnKeyDown;
- property OnKeyPress;
- property OnKeyUp;
- property OnMouseDown;
- property OnMouseMove;
- property OnMouseUp;
- property OnStartDrag;
- end;
-
- const
- InitRepeatPause = 400; { pause before repeat timer (ms) }
- RepeatPause = 100; { pause before hint window displays (ms)}
- SpaceSize = 5; { size of space between special buttons }
-
- type
- TNavButton = class;
- TNavDataLink = class;
-
- TNavGlyph = (ngEnabled, ngDisabled);
- TNavigateBtn = (nbFirst, nbPrior, nbNext, nbLast,
- nbInsert, nbDelete, nbEdit, nbPost, nbCancel, nbRefresh);
- TButtonSet = set of TNavigateBtn;
- TNavButtonStyle = set of (nsAllowTimer, nsFocusRect);
-
- ENavClick = procedure (Sender: TObject; Button: TNavigateBtn) of object;
-
- { TDBNavigator }
-
- TDBNavigator = class (TCustomPanel)
- protected
- Buttons: array[TNavigateBtn] of TNavButton;
- procedure DataChanged;
- procedure EditingChanged;
- procedure ActiveChanged;
- procedure Loaded; override;
- procedure KeyDown(var Key: Word; Shift: TShiftState); override;
- procedure Notification(AComponent: TComponent;
- Operation: TOperation); override;
- procedure GetChildren(Proc: TGetChildProc; Root: TComponent); override;
- public
- constructor Create(AOwner: TComponent); override;
- destructor Destroy; override;
- procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); override;
- procedure BtnClick(Index: TNavigateBtn);
- published
- property DataSource: TDataSource;
- property VisibleButtons: TButtonSet default [nbFirst, nbPrior, nbNext, nbLast, nbInsert, nbDelete, nbEdit, nbPost, nbCancel, nbRefresh];
- property Align;
- property DragCursor;
- property DragMode;
- property Enabled;
- property Flat: Boolean default False;
- property Ctl3D;
- property Hints: TStrings;
- property ParentCtl3D;
- property ParentShowHint;
- property PopupMenu;
- property ConfirmDelete: Boolean default True;
- property ShowHint;
- property TabOrder;
- property TabStop;
- property Visible;
- property BeforeAction: ENavClick;
- property OnClick: ENavClick;
- property OnDblClick;
- property OnDragDrop;
- property OnDragOver;
- property OnEndDrag;
- property OnEnter;
- property OnExit;
- property OnResize;
- property OnStartDrag;
- end;
-
- { TNavButton }
-
- TNavButton = class(TSpeedButton)
- protected
- procedure Paint; override;
- procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
- X, Y: Integer); override;
- procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
- X, Y: Integer); override;
- public
- destructor Destroy; override;
- property NavStyle: TNavButtonStyle;
- property Index : TNavigateBtn;
- end;
-
- { TNavDataLink }
-
- TNavDataLink = class(TDataLink)
- protected
- procedure EditingChanged; override;
- procedure DataSetChanged; override;
- procedure ActiveChanged; override;
- public
- constructor Create(ANav: TDBNavigator);
- destructor Destroy; override;
- end;
-
- { TDBLookupControl }
-
- TDBLookupControl = class;
-
- TDataSourceLink = class(TDataLink)
- protected
- procedure FocusControl(Field: TFieldRef); override;
- procedure ActiveChanged; override;
- procedure RecordChanged(Field: TField); override;
- end;
-
- TListSourceLink = class(TDataLink)
- protected
- procedure ActiveChanged; override;
- procedure DataSetChanged; override;
- end;
-
- TDBLookupControl = class(TCustomControl)
- protected
- procedure Notification(AComponent: TComponent;
- Operation: TOperation); override;
- property DataField: string;
- property DataSource: TDataSource;
- property KeyField: string;
- property KeyValue: Variant;
- property ListField: string;
- property ListFieldIndex: Integer default 0;
- property ListSource: TDataSource;
- property ParentColor default False;
- property ReadOnly: Boolean default False;
- property TabStop default True;
- public
- constructor Create(AOwner: TComponent); override;
- destructor Destroy; override;
- property Field: TField;
- end;
-
- { TDBLookupListBox }
-
- TDBLookupListBox = class(TDBLookupControl)
- protected
- procedure CreateParams(var Params: TCreateParams); override;
- procedure CreateWnd; override;
- procedure KeyDown(var Key: Word; Shift: TShiftState); override;
- procedure KeyPress(var Key: Char); override;
- procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
- X, Y: Integer); override;
- procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
- procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
- X, Y: Integer); override;
- procedure Paint; override;
- procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); override;
- public
- constructor Create(AOwner: TComponent); override;
- property KeyValue;
- property SelectedItem: string;
- published
- property Align;
- property BorderStyle: TBorderStyle default bsSingle;
- property Color;
- property Ctl3D;
- property DataField;
- property DataSource;
- property DragCursor;
- property DragMode;
- property Enabled;
- property Font;
- property ImeMode;
- property ImeName;
- property KeyField;
- property ListField;
- property ListFieldIndex;
- property ListSource;
- property ParentColor;
- property ParentCtl3D;
- property ParentFont;
- property ParentShowHint;
- property PopupMenu;
- property ReadOnly;
- property RowCount: Integer;
- property ShowHint;
- property TabOrder;
- property TabStop;
- property Visible;
- property OnClick;
- property OnDblClick;
- property OnDragDrop;
- property OnDragOver;
- property OnEndDrag;
- property OnEnter;
- property OnExit;
- property OnKeyDown;
- property OnKeyPress;
- property OnKeyUp;
- property OnMouseDown;
- property OnMouseMove;
- property OnMouseUp;
- property OnStartDrag;
- end;
-
- { TDBLookupComboBox }
-
- TPopupDataList = class(TDBLookupListBox)
- protected
- procedure CreateParams(var Params: TCreateParams); override;
- public
- constructor Create(AOwner: TComponent); override;
- end;
-
- TDropDownAlign = (daLeft, daRight, daCenter);
-
- TDBLookupComboBox = class(TDBLookupControl)
- protected
- procedure CreateParams(var Params: TCreateParams); override;
- procedure Paint; override;
- procedure KeyDown(var Key: Word; Shift: TShiftState); override;
- procedure KeyPress(var Key: Char); override;
- procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
- X, Y: Integer); override;
- procedure MouseMove(Shift: TShiftState; X, Y: Integer); override;
- procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
- X, Y: Integer); override;
- procedure SetBounds(ALeft, ATop, AWidth, AHeight: Integer); override;
- public
- constructor Create(AOwner: TComponent); override;
- procedure CloseUp(Accept: Boolean);
- procedure DropDown;
- property KeyValue;
- property ListVisible: Boolean;
- property Text: string;
- published
- property Color;
- property Ctl3D;
- property DataField;
- property DataSource;
- property DragCursor;
- property DragMode;
- property DropDownAlign: TDropDownAlign default daLeft;
- property DropDownRows: Integer default 7;
- property DropDownWidth: Integer default 0;
- property Enabled;
- property Font;
- property ImeMode;
- property ImeName;
- property KeyField;
- property ListField;
- property ListFieldIndex;
- property ListSource;
- property ParentColor;
- property ParentCtl3D;
- property ParentFont;
- property ParentShowHint;
- property PopupMenu;
- property ReadOnly;
- property ShowHint;
- property TabOrder;
- property TabStop;
- property Visible;
- property OnClick;
- property OnCloseUp: TNotifyEvent;
- property OnDragDrop;
- property OnDragOver;
- property OnDropDown: TNotifyEvent;
- property OnEndDrag;
- property OnEnter;
- property OnExit;
- property OnKeyDown;
- property OnKeyPress;
- property OnKeyUp;
- property OnMouseDown;
- property OnMouseMove;
- property OnMouseUp;
- property OnStartDrag;
- end;
-
- { TDBRichEdit }
-
- TDBRichEdit = class(TCustomRichEdit)
- protected
- procedure Change; override;
- procedure KeyDown(var Key: Word; Shift: TShiftState); override;
- procedure KeyPress(var Key: Char); override;
- procedure Loaded; override;
- procedure Notification(AComponent: TComponent;
- Operation: TOperation); override;
- public
- constructor Create(AOwner: TComponent); override;
- destructor Destroy; override;
- procedure LoadMemo;
- property Field: TField;
- published
- property Align;
- property Alignment;
- property AutoDisplay: Boolean default True;
- property BorderStyle;
- property Color;
- property Ctl3D;
- property DataField: string;
- property DataSource: TDataSource;
- property DragCursor;
- property DragMode;
- property Enabled;
- property Font;
- property HideSelection;
- property HideScrollBars;
- property ImeMode;
- property ImeName;
- property MaxLength;
- property ParentColor;
- property ParentCtl3D;
- property ParentFont;
- property ParentShowHint;
- property PlainText;
- property PopupMenu;
- property ReadOnly: Boolean default False;
- property ScrollBars;
- property ShowHint;
- property TabOrder;
- property TabStop;
- property Visible;
- property WantReturns;
- property WantTabs;
- property WordWrap;
- property OnChange;
- property OnClick;
- property OnDblClick;
- property OnDragDrop;
- property OnDragOver;
- property OnEndDrag;
- property OnEnter;
- property OnExit;
- property OnKeyDown;
- property OnKeyPress;
- property OnKeyUp;
- property OnMouseDown;
- property OnMouseMove;
- property OnMouseUp;
- property OnResizeRequest;
- property OnSelectionChange;
- property OnProtectChange;
- property OnSaveClipboard;
- property OnStartDrag;
- end;
-
- implementation
-